]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
notificationDaemon: Fix icon-choosing logic
authorGuilherme Silva <oguilherme@protonmail.com>
Sun, 31 Jan 2021 04:11:18 +0000 (01:11 -0300)
committerMarge Bot <marge-bot@gnome.org>
Mon, 1 Feb 2021 13:58:20 +0000 (13:58 +0000)
'image-data' (or 'image-path') should take precedence over 'app-icon',
even when both are sent by the application (e.g. Google Chrome).

Fixes #3616.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1616>

js/ui/notificationDaemon.js

index 38f81c3814ecfed22b858f881c8b8dc362823fd0..f94edb65c2cb6afd2daa1f90f58ed20f619004b9 100644 (file)
@@ -240,19 +240,13 @@ var FdoNotificationDaemon = class FdoNotificationDaemon {
             });
         }
 
-        let gicon = this._iconForNotificationData(icon);
-        let gimage = this._imageForNotificationData(hints);
-
-        // If an icon is not specified, we use 'image-data' or 'image-path' hint for an icon
-        // and don't show a large image. There are currently many applications that use
-        // notify_notification_set_icon_from_pixbuf() from libnotify, which in turn sets
-        // the 'image-data' hint. These applications don't typically pass in 'app_icon'
-        // argument to Notify() and actually expect the pixbuf to be shown as an icon.
-        // So the logic here does the right thing for this case. If both an icon and either
-        // one of 'image-data' or 'image-path' are specified, the icon and takes precedence.
-        if (!gicon && gimage)
-            gicon = gimage;
-        else if (!gicon)
+        // 'image-data' (or 'image-path') takes precedence over 'app-icon'.
+        let gicon = this._imageForNotificationData(hints);
+
+        if (!gicon)
+            gicon = this._iconForNotificationData(icon);
+
+        if (!gicon)
             gicon = this._fallbackIconForNotificationData(hints);
 
         notification.update(summary, body, { gicon,